package com.wind.taobao.api.trade.item.rest
{
	import com.wind.taobao.api.IPrivateAPI;
	import com.wind.taobao.core.exception.InvalidRequestParametersException;
	import com.wind.taobao.core.util.TaobaoUtils;
	import com.wind.taobao.core.webservice.TaobaoRequest;

	/**
	 * taobao.postage.add Request
	 * @author fxy
	 *
	 */
	public class PostageAddRequest extends TaobaoRequest implements IPrivateAPI
	{
		public override function get method():String
		{
			return "taobao.postage.add"
		}
		/**
		 * Y 	 邮费模板名称,不能超过50个字节
		 */
		[Bindable]
		public var name:String;
		/**
		 * 默认平邮费用. 注意:至少选择一组默认的邮费组,例如:post_price,post_increase . 精确到1位小数;单位:元。如:200.5
		 */
		[Bindable]
		public var post_price:String;
		/**
		 * 默认平邮加价费用. 精确到1位小数;单位:元。如:1.5
		 */
		[Bindable]
		public var post_increase:String;
		/**
		 * 默认快递费用. 精确到1位小数;单位:元。如:200.5
		 */
		[Bindable]
		public var express_price:String;
		/**
		 * 默认快递加价费用.精确到1位小数;单位:元。如:1.5
		 */
		[Bindable]
		public var express_increase:String;
		/**
		 * 默认EMS费用. 精确到1位小数;单位:元。如:200.5
		 */
		[Bindable]
		public var ems_price:String;
		/**
		 * 默认EMS加价费用.精确到1位小数;单位:元。如:1.5
		 */
		[Bindable]
		public var ems_increase:String;
		/**
		 * N 	邮费模板备注,不能超过200个字节
		 */
		[Bindable]
		public var memo:String;
		/**
		 * N 	运费方式:平邮 (post),快递公司(express),EMS (ems) 结构:value1;value2;value3 如: post;express;ems 注意:在添加多个PostageMode时,字符串中使用 ";" 分号区分.postage_mode.type,postage_mode.dest,postage_mode.price,postage_mode.increase,数量必须一致.
		 */
		[Bindable]
		public var postage_mode_types:String;
		/**
		 * N 	邮费子项涉及的地区.结构: value1;value2;value3 如:110000;310000;320000,330000 就代表邮费子项涉及(北京;上海;江苏,浙江)四个地区. 可以用taobao.areas.get接口获取.或者参考：http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm
		 */
		[Bindable]
		public var postage_mode_dests:String;
		/**
		 * N 	运费方式单价. 结构: value1;value2;value3 如: 11.2;14;6 .精确到1位小数;单位:元。如:200.5
		 */
		[Bindable]
		public var postage_mode_prices:String;
		/**
		 * N 	运费方式加件费用.结构: value1;value2;value3 如: 1.5;2;4 .精确到1位小数;单位:元。如:1.5
		 */
		[Bindable]
		public var postage_mode_increases:String;

		public override function validate():void
		{
			if (!TaobaoUtils.hasValue(name))
			{
				throw new InvalidRequestParametersException("请求参数[name]不能为空");
			}
			if (!TaobaoUtils.hasAllValue([post_price, post_increase]) && !TaobaoUtils.hasAllValue([express_price, express_increase]) && !TaobaoUtils.hasAllValue([ems_price, ems_increase]))
			{
				throw new InvalidRequestParametersException("请求参数[(post_price,post_increase),(express_price,express_increase),(ems_price,ems_increase)]不能全部为空");
			}

		}


	}
}